Команда (шаблон)
Облик
За информацията в тази статия или раздел не са посочени източници. Въпросната информация може да е непълна, неточна или изцяло невярна. Имайте предвид, че това може да стане причина за изтриването на цялата статия или раздел. |
Команда (на английски: Command) е поведенчески шаблон за дизайн, който се използва в обектно-ориентираното програмиране.
Приложение
[редактиране | редактиране на кода]Този дизайнерски шаблон има следните приложения:
- Многостепенни отмени (undo) – В графични приложения в които има повече от една степен на отмяна на резултатите от предишното действие
Примери
[редактиране | редактиране на кода]namespace CommandDesignPattern
{
//производните обекти на този клас правят заявки според предадените им командни обекти
class Invoker
{
private Command command;
public void SetCommand ( Command command)
{
this.command = command;
}
//този метод извиква командата
public void ExecuteCommand ()
{
command.Execute ();
}
} //eof class
//производните обекти на този клас получават
class Receiver
{
public void Action ()
{
Console.WriteLine ( "Called ...");
}
} //eof Receiver
abstract class Command
{
protected Receiver receiver;
public Command ( Receiver receiver)
{
this.receiver = receiver;
}
public abstract void Execute ();
} //eof class
class ConcreteCommand : Command
{
public ConcreteCommand ( Receiver receiver)
: base ( receiver)
{
}
public override void Execute ()
{
receiver.Action ();
}
}
class Program
{ //главният метод на приложението
static void Main ()
{
Receiver receiver = new Receiver (); //създаване на обекта получател
// Remember that you don´t really need an receiver if you don´t want it.
Command command = new ConcreteCommand ( receiver);
Invoker invoker = new Invoker (); //създаване на заявяващия обект
invoker.SetCommand ( command); //конфигуриране на командата според типа и
invoker.ExecuteCommand (); //изпълняване на командата
Console.ReadLine (); //използван само за спиране на конзолата
} //eof Main
} //eof class
}//eof namespace
Тази статия, свързана със софтуер, все още е мъниче. Помогнете на Уикипедия, като я редактирате и разширите.
|